/*
#include <math.h>
#include <algorithm>
#include <string>
#include <map>
#include <hash_map>
#include <set>
#include <vector>
#include <Stack>
#include <iostream>
#include <sstream>
using namespace std;
void print(vector<int>&nums){
	for(int i=0;i<nums.size();i++){
		cout<<nums[i]<<" ";
	}
	cout<<endl;
}
//
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
	for(int i=m+n-1,j=m-1,k=n-1;i>=0;i--){
		if(j>=0&&k>=0){
			if(nums1[j]<nums2[k]){
				nums1[i]=nums2[k];
				k--;
			}else{
				nums1[i]=nums1[j];
				j--;
			}
		}else{
			if(j<0){
				nums1[i]=nums2[k];
				k--;
			}else{
				nums1[i]=nums1[j];
				j--;
			}
		}
	}
}
int main(){
	int a[]={1,7,11,17};
	int b[]={2,3,8,9,16,30};
	vector<int> nums1(a,a+sizeof(a)/sizeof(int));
	vector<int> nums2(b,b+sizeof(b)/sizeof(int));
	for(int i=0;i<nums2.size();i++){
		nums1.push_back(0);
	}

	print(nums1);
	print(nums2);
	merge(nums1,sizeof(a)/sizeof(int),nums2,sizeof(b)/sizeof(int));
	print(nums1);
	cout<<endl;
	system("pause");
}
*/